
package com.hlkj.pay.vo.order.resp;

import java.math.BigDecimal;

import com.hlkj.pay.vo.BaseMerchantResp;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * 商户提现表
 * 
 * @TableName t_order_withdraw
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class OrderWithdrawResp extends BaseMerchantResp {

    @Schema(description = "平台订单号")
    private String payOrderNo;

    /**
     * 商户订单号
     */
    @Schema(description = "商户订单号")
    private String mchOrderNo;

    /**
     * 商户通道id
     */
    @Schema(description = "商户通道code")
    private String mchChannelCode;

    /**
     * 客户端IP
     */
    @Schema(description = "客户端IP")
    private String clientIp;

    /**
     * 异步通知地址
     */
    @Schema(description = "异步通知地址")
    private String notifyUrl;

    /**
     * 商户商户号
     */
    @Schema(description = "商户商户号")
    private String sn;

    /**
     * 商户商户号
     */
    @Schema(description = "appid")
    private String appId;

    /**
     * 默认服务商
     */
    @Schema(description = "默认服务商")
    private String providerCode;

    /**
     * 默认通道
     */
    @Schema(description = "默认通道")
    private String channelCode;

    /**
     * 向下游回调状态, 0-未发送, 1-已发送'
     */
    @Schema(description = "向下游回调状态, 0-未发送,  1-已发送'")
    private Integer notifyState;

    /**
     *
     */
    @Schema(description = "通知时间")
    private Long notifyTime;

    /**
     * 签名方式 RSA2,MD5
     */
    @Schema(description = "签名方式 RSA2,MD5")
    private String signType;

    /**
     * 通道订单编号
     */
    @Schema(description = "通道订单编号")
    private String channelOrderNo;

    /**
     * 订单金额
     */
    @Schema(description = "订单金额")
    private BigDecimal amount;
    @Schema(description = "手续费金额")
    private BigDecimal feeAmount;
    /**
     * 账号编码
     */
    @Schema(description = "默认银行卡号")
    private String bankCardId;

    /**
     * 备注
     */
    @Schema(description = "消息提示")
    private String message;

    @Schema(description = "成功时间")
    private Long successTime;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;

    @Schema(description = "状态 0=初始化，2=处理中，3=成功，4=失败")
    private Integer status;


    private String userId;
    private String userName;
    private String bankName;
    private String virtualAccountNo;

}
